CNSS 2026 Crypto Guideline
😘 Crypto Guideline
🏁 简介
密码学是网络安全的基石,主要研究的是如何对信息进行加密和解密。其原理大部分基于数论和代数,而实现则依靠于算法,因此理论学习与实践做题也是同频共振的。
📚 相关资料
- CTF Wiki - Crypto Crypto 相关知识介绍
- CryptoHack: CryptoHack – A fun, free platform for learning cryptography
- 密码学攻击算法:Crypto-Attacks
- CTF大佬的博客:maple3142(面向有一定基础)
- 格密码分析:Lattice-based-cryptanalysis: A toolkit for cryptanalysis using lattices.
- 理论可证明安全密码体系建立教材推荐:Introduction to Modern Cryptography,http://www.cs.umd.edu/~jkatz
💻 语言基础
打好扎实的基础才能在后序写脚本更加顺畅
- Python 3 基础语法
- 常见编码知识(bin, hex, bytes, base64, encode, decode, etc.)以及它们在 Python 中的转换。
- Python 里面相关的库:pycryptodome、gmpy2。
- 学会使用 pwntools 进行交互
- SageMath 的使用(这是个语法基于 Python 的一个功能非常强大的软件,里面封装了很多跟密码学有关的函数,在密码学的学习中可以起到重要 作用)。
- 需要注意的是,Sage 对 Windows 环境不是很友好。因此推荐在 Windows 里面安装WSL虚拟环境来使用 Sage。附上一篇文章 Installing SageMath 10.1 in Ubuntu,仅供参考。
- PS:对应Mac用户,Sage安装需要从头到尾完全手动编译,全过程纯编译时间不少于4小时,不推荐(本人血泪史)
✨ 数学基础
数论
数论中很多问题目前都属于NP问题,因此常用来构建密码协议。扎实的数论基础可以帮助你更好地分析与研究相关题目。
- 整除理论:素数、唯一分解定理、欧几里得算法、扩展欧几里得算法
- 同余理论:同余、原根、离散对数、费马小定理、欧拉定理、中国剩余定理、二次剩余、二次互反律
- 连分数理论
- 素性测试
- etc.